HEX
Server: Apache/2.4.52 (Ubuntu)
System: Linux WebLive 5.15.0-79-generic #86-Ubuntu SMP Mon Jul 10 16:07:21 UTC 2023 x86_64
User: ubuntu (1000)
PHP: 7.4.33
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
File: /var/www/html/wpskycap/wp-content/plugins/js_composer/gulp/buildBanner.js
const fs = require( 'fs' );
const path = require( 'path' );

const pkg = require( '../package.json' );
const buildConfig = require( '../build-config.json' );

const banner = `/*!
* ${pkg.nativeName} v${pkg.version} (${pkg.homepage})
* Copyright 2011-${new Date().getFullYear()} ${pkg.author}
* License: Commercial. More details: ${pkg.license}
*/`;

function applyBanner ( directoryPath, banner, fileExtension, done ) {
	fs.readdir( directoryPath, ( err, files ) => {
		if ( err ) {
			console.error( 'Error:', err );
			return done( err );
		}

		let pending = files.length;
		if ( pending === 0 ) { return done(); } // No files, complete immediately

		files.forEach( ( file ) => {
			var filePath = path.join( directoryPath, file );
			fs.stat( filePath, ( err, stats ) => {
				if ( err ) {
					console.error( 'Error:', err );
					done( err );
					return;
				}

				if ( stats.isDirectory() ) {
					// Recursively process directories
					applyBanner( filePath, banner, fileExtension, ( err ) => {
						if ( --pending === 0 ) { done( err ); }
					});
				} else if ( path.extname( file ) === fileExtension && file.endsWith( '.min' + fileExtension ) ) {
					// Process files with specified extension
					fs.readFile( filePath, 'utf8', ( err, data ) => {
						if ( err ) {
							console.error( 'Error reading file:', err );
							if ( --pending === 0 ) { done( err ); }
							return;
						}

						var newData = banner + data;
						fs.writeFile( filePath, newData, 'utf8', ( err ) => {
							if ( err ) {
								console.error( 'Error writing file:', err );
								if ( --pending === 0 ) { done( err ); }
								return;
							}

							if ( --pending === 0 ) { done(); }
						});
					});
				} else {
					if ( --pending === 0 ) { done(); }
				}
			});
		});
	});
}

function addCssBanner ( done ) {
	applyBanner( buildConfig.globalOptions.less.destPath, banner, '.css', done );
}

module.exports = {
	// eslint-disable-next-line object-shorthand
	addCssBanner
};